Apache ANT এর অন্যতম শক্তিশালী ফিচার হলো Properties (সম্পত্তি)। Properties ব্যবহার করে আপনি বিল্ড স্ক্রিপ্টে পরিবর্তনশীল (variable) মান সংজ্ঞায়িত এবং পরিচালনা করতে পারেন। এর মাধ্যমে বিল্ড স্ক্রিপ্টের বিভিন্ন অংশে একই মান পুনরায় ব্যবহার করা যায়, যা কোডের পুনঃব্যবহারযোগ্যতা ও maintainability বাড়ায়।
এছাড়া, ANT Property Files ব্যবহার করতে দেয়, যা একাধিক পরিবেশ বা কনফিগারেশনের জন্য বৈশিষ্ট্য সংজ্ঞায়িত করতে সহায়ক। এটি মূলত একটি .properties
ফাইল যেখানে key-value পেয়ার হিসেবে বিভিন্ন property সংরক্ষণ করা হয়।
ANT স্ক্রিপ্টে properties সাধারণত <property>
ট্যাগ ব্যবহার করে সংজ্ঞায়িত করা হয়। এটি একটি নাম এবং মান নিয়ে কাজ করে।
উদাহরণ:
<project name="ExampleProject" default="build" basedir=".">
<!-- Property Declaration -->
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<!-- Target to compile the source code -->
<target name="build">
<echo message="Source directory: ${src.dir}"/>
<echo message="Build directory: ${build.dir}"/>
</target>
</project>
এখানে:
src.dir
এবং build.dir
হল দুটি properties।${src.dir}
এবং ${build.dir}
এর মান ANT স্ক্রিপ্টের মধ্যে ব্যবহার করা হচ্ছে।Property ফাইলের মাধ্যমে আপনি সহজে পরিবেশগত সেটিংস বা কনফিগারেশন ম্যানেজ করতে পারেন। ANT .properties
ফাইল ব্যবহার করে প্রোজেক্টের বিভিন্ন কনফিগারেশন আলাদা করে সংরক্ষণ করা যায়, যেমন ডাটাবেস সংযোগের তথ্য, URL, ফাইল পাথ ইত্যাদি।
# File: config.properties
src.dir=src
build.dir=build
database.url=jdbc:mysql://localhost:3306/mydb
username=admin
password=secret
এখানে, আমরা কিছু সাধারণ কনফিগারেশন সংজ্ঞায়িত করেছি।
ANT স্ক্রিপ্টে .properties
ফাইলের প্রপার্টি লোড করতে <property>
ট্যাগের সাথে file
অ্যাট্রিবিউট ব্যবহার করা হয়।
উদাহরণ:
<project name="ExampleProject" default="build" basedir=".">
<!-- Load properties from an external file -->
<property file="config.properties"/>
<!-- Target to build the project -->
<target name="build">
<echo message="Source directory: ${src.dir}"/>
<echo message="Build directory: ${build.dir}"/>
<echo message="Database URL: ${database.url}"/>
</target>
</project>
এখানে:
config.properties
ফাইলটি লোড করা হয়েছে।.properties
ফাইল থেকে মানগুলি ANT স্ক্রিপ্টে ব্যবহার করা হয়েছে যেমন ${src.dir}
, ${build.dir}
, এবং ${database.url}
।ANT এ আপনি runtime এ প্রপার্টির মান পরিবর্তন করতে পারেন। <property>
ট্যাগের মাধ্যমে ডায়নামিকভাবে প্রপার্টি সংজ্ঞায়িত করা যেতে পারে।
উদাহরণ:
<project name="ExampleProject" default="dynamicProperty" basedir=".">
<!-- Define a property dynamically -->
<property name="build.dir" value="build"/>
<!-- Define dynamic property -->
<property name="date" value="${ant.date}"/>
<target name="dynamicProperty">
<echo message="Build directory: ${build.dir}"/>
<echo message="Current date: ${date}"/>
</target>
</project>
এখানে:
${ant.date}
ব্যবহার করে ANT একটি বিল্ট-ইন প্রপার্টি রিটার্ন করবে যা বর্তমান তারিখ ও সময় প্রদান করবে।ANT স্ক্রিপ্টে, আপনি প্রপার্টির মাধ্যমে নির্দিষ্ট মান প্রতিস্থাপন করতে পারেন। এটি মূলত কোডের পুনঃব্যবহারযোগ্যতা এবং কনফিগারেশন নিয়ন্ত্রণে সহায়ক।
<project name="ExampleProject" default="replaceProperty" basedir=".">
<!-- Define some properties -->
<property name="username" value="admin"/>
<property name="password" value="secret"/>
<!-- Replace the property with new values -->
<target name="replaceProperty">
<echo message="Username: ${username}"/>
<echo message="Password: ${password}"/>
</target>
</project>
এখানে:
username
এবং password
প্রপার্টি সংজ্ঞায়িত করা হয়েছে এবং পরে এগুলি replaceProperty
টার্গেটের মাধ্যমে ব্যবহার করা হচ্ছে।ANT এ আপনি একটি প্রপার্টির জন্য ডিফল্ট মানও সংজ্ঞায়িত করতে পারেন, যদি সেই প্রপার্টি না দেওয়া হয়।
উদাহরণ:
<project name="ExampleProject" default="setDefault" basedir=".">
<!-- Set a default property value -->
<property name="build.dir" value="build"/>
<property name="source.dir" value="src" />
<!-- Target to set default properties -->
<target name="setDefault">
<echo message="Build directory: ${build.dir}"/>
<echo message="Source directory: ${source.dir}"/>
</target>
</project>
এখানে:
build.dir
এবং source.dir
প্রপার্টির জন্য ডিফল্ট মান নির্ধারণ করা হয়েছে। যদি স্ক্রিপ্টে অন্য কোথাও এদের মান না দেওয়া হয়, তবে ডিফল্ট মান ব্যবহার করা হবে।ANT এ, একটি প্রপার্টির মান পরবর্তী টাস্কের মধ্যে প্রতিস্থাপন বা ওভাররাইড করা যেতে পারে। যদি কোন প্রপার্টি পূর্বে সংজ্ঞায়িত থাকে, তবে পরবর্তী অংশে মান পরিবর্তন করা সম্ভব।
<project name="ExampleProject" default="overrideProperty" basedir=".">
<!-- Define initial properties -->
<property name="src.dir" value="src"/>
<!-- Override property value -->
<property name="src.dir" value="newSrc" />
<target name="overrideProperty">
<echo message="Source directory: ${src.dir}"/>
</target>
</project>
এখানে:
src.dir
এর মান "src" ছিল, কিন্তু পরে সেটি "newSrc" এ পরিবর্তন করা হয়েছে।.properties
ফাইল ব্যবহার করে আপনি কনফিগারেশন বা সেটিংস সংরক্ষণ করতে পারেন।ANT এ properties ব্যবহারের মাধ্যমে স্ক্রিপ্টের পুনঃব্যবহারযোগ্যতা বৃদ্ধি এবং কনফিগারেশন সহজতর করা সম্ভব।
Properties হল ANT-এর একটি গুরুত্বপূর্ণ ফিচার যা আপনাকে বিভিন্ন মান বা কনফিগারেশন ডেটা সংরক্ষণ এবং পুনঃব্যবহার করতে সাহায্য করে। এটি বিশেষত বড় প্রকল্পগুলিতে কাজ করার সময় দরকারী, কারণ এতে কোডের পুনঃব্যবহারযোগ্যতা বাড়ে এবং পুরো বিল্ড স্ক্রিপ্টের রক্ষণাবেক্ষণ সহজ হয়।
ANT-এর Properties হলো এমন নাম-মান পেয়ার যা বিল্ড ফাইলে বিভিন্ন স্থান থেকে অ্যাক্সেস করা যায়। একবার প্রপার্টি সেট করা হলে, আপনি সেই প্রপার্টি ভ্যালুকে একাধিক টার্গেট বা টাস্কে পুনরায় ব্যবহার করতে পারেন। প্রপার্টি সাধারণত immutable (অপরিবর্তনীয়) হয়, অর্থাৎ একবার সেট করার পরে আপনি তার মান পরিবর্তন করতে পারবেন না।
প্রপার্টি সেট করতে এবং ব্যবহার করতে নিচে কিছু উদাহরণ দেওয়া হলো:
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="jar.name" value="my-app.jar"/>
এই উদাহরণে:
src.dir
হলো সোর্স ফাইলের ডিরেক্টরি।build.dir
হলো কম্পাইলড ক্লাস ফাইল রাখার ডিরেক্টরি।jar.name
হলো জার ফাইলের নাম।একবার প্রপার্টি সেট হলে, আপনি সেই প্রপার্টি টাস্ক বা টার্গেটে ব্যবহার করতে পারেন। উদাহরণস্বরূপ:
<target name="compile">
<javac srcdir="${src.dir}" destdir="${build.dir}"/>
</target>
<target name="package">
<jar destfile="${build.dir}/${jar.name}">
<fileset dir="${build.dir}"/>
</jar>
</target>
এখানে:
${src.dir}
এবং ${build.dir}
ব্যবহার করা হয়েছে javac
এবং jar
টাস্কে।${jar.name}
ব্যবহার করা হয়েছে জার ফাইলের নামকে কনফিগার করতে।ANT আপনাকে default প্রপার্টি সেট করার সুযোগও দেয়, যা যদি কোনো প্রপার্টি পূর্বে সেট না করা থাকে, তবে সেটি একটি ডিফল্ট মান হিসেবে কাজ করবে। উদাহরণ:
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="output.file" value="output.jar"/>
<target name="compile">
<javac srcdir="${src.dir}" destdir="${build.dir}"/>
</target>
<target name="package">
<jar destfile="${build.dir}/${output.file}">
<fileset dir="${build.dir}"/>
</jar>
</target>
এখানে, যদি output.file প্রপার্টি সেট না থাকে, তবে output.jar হিসেবে সেট করা থাকবে।
ANT-এ সিস্টেম প্রপার্টি ব্যবহার করা যায় যা আপনাকে সিস্টেম বা পরিবেশগত ভ্যারিয়েবলগুলির মান অ্যাক্সেস করার সুযোগ দেয়:
<property name="java.home" value="${java.home}"/>
এটি সিস্টেমের java.home প্রপার্টির মান ধারণ করবে।
ANT-এ অপারেটিং সিস্টেমের কিছু প্রপার্টি থাকে যা পরিবেশগত তথ্য সংগ্রহ করতে ব্যবহৃত হয়, যেমন:
os.name
: অপারেটিং সিস্টেমের নাম।user.dir
: কাজের ডিরেক্টরি।java.version
: জাভা ভার্সন।ANT-এ একবার একটি প্রপার্টি সেট করার পর, আপনি সেই প্রপার্টির মান পরিবর্তন করতে পারবেন না, কারণ এটি immutable। তবে, আপনি নতুন প্রপার্টি তৈরি করতে পারেন। উদাহরণ:
<property name="debug" value="false"/>
<property name="debug" value="true" unless="debug"/>
এই ক্ষেত্রে, দ্বিতীয় debug
প্রপার্টি প্রথমটি পরিবর্তন করবে না, তবে unless অ্যাট্রিবিউটের সাহায্যে দ্বিতীয়টি false হলে সেট হবে না।
if
এবং unless
), যা ডাইনামিক কনফিগারেশন সম্ভব করে তোলে।property
ট্যাগ ব্যবহার করে সহজেই প্রপার্টির জন্য ডিফল্ট মান সেট করতে পারেন, যা কখনোই নির্দিষ্ট না করা হলে ব্যবহার করা হবে।<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="output.dir" value="dist"/>
<target name="init">
<mkdir dir="${build.dir}"/>
<mkdir dir="${output.dir}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${build.dir}"/>
</target>
<target name="package" depends="compile">
<jar destfile="${output.dir}/project.jar">
<fileset dir="${build.dir}"/>
</jar>
</target>
এখানে:
src.dir
এবং build.dir
প্রপার্টি গুলি ব্যবহার করা হয়েছে javac
এবং jar
টাস্কে।Apache ANT একটি শক্তিশালী বিল্ড টুল যা build.xml
ফাইলের মাধ্যমে বিভিন্ন কাজ সম্পাদন করে। এই ফাইলে প্রপার্টি (Properties) ব্যবহার করে বিভিন্ন মান সংজ্ঞায়িত করা হয়। Default Properties
এবং User-defined Properties
দুটি গুরুত্বপূর্ণ প্রপার্টি ক্যাটেগরি রয়েছে, যা প্রকল্পে কাজের মান কনফিগার করতে ব্যবহৃত হয়।
ANT একটি নির্দিষ্ট সেট প্রপার্টি ডিফাইন করে যা সব সময় ব্যবহার করা যেতে পারে। এই প্রপার্টি গুলি সাধারণত ANT এর কার্যকরী প্রক্রিয়া এবং পরিবেশের উপর ভিত্তি করে নির্ধারিত হয়। এগুলির মধ্যে সাধারণত সিস্টেমের তথ্য এবং ANT টুলের কার্যকারিতা সম্পর্কিত প্রপার্টি থাকে।
${basedir}
build.xml
ফাইলের অবস্থান।${ant.home}
${user.home}
${java.home}
${os.name}
Windows
, Linux
, Mac OS X
ইত্যাদি।${ant.version}
1.10.12
।<echo message="This is the ANT version: ${ant.version}"/>
<echo message="Project base directory: ${basedir}"/>
<echo message="Java home: ${java.home}"/>
ANT-এ আপনি নিজস্ব প্রপার্টি ডিফাইন করতে পারেন, যা আপনার প্রকল্পের কাস্টম মানগুলি সংজ্ঞায়িত করে। এগুলি আপনার প্রয়োজন অনুসারে তৈরি করা হয় এবং build.xml
ফাইলে ব্যবহার করা হয়।
প্রপার্টি ডিফাইন করাproperty
ট্যাগ ব্যবহার করে আপনি ব্যবহারকারী ডিফাইনড প্রপার্টি ডিফাইন করতে পারেন।
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
এখানে, src.dir
এবং build.dir
ব্যবহারকারী ডিফাইনড প্রপার্টি।
প্রপার্টি ব্যবহার করাproperty
ট্যাগ দিয়ে ডিফাইন করা প্রপার্টি গুলি পরে ANT টাস্কে ব্যবহার করা যায়। ব্যবহারকারী ডিফাইনড প্রপার্টি ব্যবহার করতে ${}
সিঙ্কট্যাক্স অনুসরণ করতে হয়।
<echo message="Source directory is: ${src.dir}"/>
<mkdir dir="${build.dir}"/>
<project name="MyProject" default="compile" basedir=".">
<!-- User-defined properties -->
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="jar.name" value="myproject.jar"/>
<!-- Clean target -->
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<!-- Compile target -->
<target name="compile" depends="clean">
<mkdir dir="${build.dir}/classes"/>
<javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
</target>
<!-- Create JAR -->
<target name="jar" depends="compile">
<jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes"/>
</target>
<!-- Default target -->
<target name="build" depends="jar"/>
</project>
এখানে, src.dir
, build.dir
, এবং jar.name
সবই ব্যবহারকারী ডিফাইনড প্রপার্টি, যা আপনার প্রজেক্টের প্রয়োজন অনুযায়ী পরিবর্তন করা যেতে পারে।
ANT-এ প্রপার্টি মান পরিবর্তন বা সাবস্টিটিউশন করতে ব্যবহারকারী ডিফাইনড প্রপার্টি দিয়ে অন্য প্রপার্টি তৈরি করা যেতে পারে। যেমন:
<property name="project.dir" value="C:/Projects/${project.name}"/>
এখানে, ${project.name}
ব্যবহারকারী ডিফাইনড প্রপার্টি দ্বারা project.dir
প্রপার্টি সাবস্টিটিউট করা হয়েছে।
${basedir}
, ${ant.home}
, ${java.home}
, যা সিস্টেম এবং ANT ইনস্টলেশনের তথ্য ধারণ করে।property
ট্যাগ ব্যবহার করে আপনার প্রোজেক্টে কাস্টম প্রপার্টি তৈরি করতে পারেন এবং সেগুলি আপনার বিল্ড স্ক্রিপ্টে ব্যবহার করতে পারেন।Apache ANT একটি শক্তিশালী build automation tool, যা প্রজেক্ট বিল্ড প্রক্রিয়া কনফিগার এবং অটোমেট করার জন্য ব্যবহৃত হয়। Property ফাইল ব্যবহার করে ANT-এর কনফিগারেশন পরিচালনা করা একটি সাধারণ এবং সুবিধাজনক পদ্ধতি। এতে প্রপার্টি নির্ধারণ এবং পুনঃব্যবহার করা সহজ হয়, এবং প্রজেক্টের কনফিগারেশন সম্পাদনা অনেক বেশি নমনীয় হয়।
এখানে আমরা দেখব কিভাবে Property ফাইল ব্যবহার করে ANT বিল্ড কনফিগারেশন ম্যানেজমেন্ট করা যায়।
Property ফাইলগুলো সাধারণত .properties
এক্সটেনশন সহ থাকে, এবং এতে বিভিন্ন কনফিগারেশন মান বা প্রপার্টি সংরক্ষণ করা হয়। ANT প্রকল্পে, এই ফাইলগুলি external কনফিগারেশন ব্যবস্থাপনা হিসেবে ব্যবহৃত হতে পারে। এই প্রপার্টি ফাইলগুলো ANT এর build.xml
ফাইল থেকে লোড করা যেতে পারে এবং এতে সিস্টেমের বিভিন্ন প্রপার্টি নির্ধারণ করা হয় যা পরবর্তী সময়ে টাস্ক বা টার্গেটে ব্যবহার করা হয়।
এখানে আমরা একটি সাধারণ প্রপার্টি ফাইল এবং ANT-এ এটি কিভাবে ব্যবহার করা যায় তা দেখব।
এটি একটি সাধারণ .properties
ফাইল যা প্রজেক্ট কনফিগারেশনের জন্য প্রয়োজনীয় ভ্যালু ধারণ করে:
config.properties
(Property ফাইল):
src.dir=src
build.dir=build
jar.name=myproject.jar
debug=true
build.xml
ফাইলে Property ফাইল ব্যবহার করাএখন, build.xml
ফাইলের মধ্যে এই প্রপার্টি ফাইলটি লোড করা হবে এবং প্রপার্টিগুলি ব্যবহার করা হবে। ANT-এ property
টাস্ক ব্যবহার করে প্রপার্টি ফাইল লোড করা যেতে পারে।
build.xml
(ANT বিল্ড কনফিগারেশন ফাইল):
<?xml version="1.0" encoding="UTF-8"?>
<project name="MyProject" default="build" basedir=".">
<!-- Load the external properties file -->
<property file="config.properties"/>
<!-- Clean target to delete the build directory -->
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<!-- Compile target to compile Java source code -->
<target name="compile" depends="clean">
<mkdir dir="${build.dir}/classes"/>
<javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
</target>
<!-- Create a JAR file -->
<target name="jar" depends="compile">
<jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes"/>
</target>
<!-- Default target -->
<target name="build" depends="jar">
<echo message="Build complete!"/>
</target>
</project>
<property file="config.properties"/>
: এই টাস্কটি config.properties
ফাইল থেকে প্রপার্টিগুলি লোড করে এবং তাদের মান build.xml
-এ ব্যবহার করার জন্য উপলব্ধ করে।src.dir
, build.dir
, jar.name
ইত্যাদি প্রপার্টি এখন build.xml
-এ ব্যবহৃত হতে পারে। এগুলো আগে config.properties
ফাইল থেকে লোড করা হয়েছিল।এখানে ${}
সিঙ্ক্স ব্যবহার করা হয়েছে প্রপার্টি ফাইলের মান কল করার জন্য। উদাহরণস্বরূপ, ${build.dir}
এবং ${jar.name}
এই মানগুলি config.properties
ফাইল থেকে লোড করা হয়েছে।
build.xml
ফাইলে একটি সাধারণ config.properties
ফাইল ব্যবহার করা যেতে পারে।ANT প্রজেক্টে আরও ডাইনামিক কনফিগারেশন ব্যবস্থাপনা করতে, প্রপার্টি ফাইলের মধ্যে শর্তযুক্ত লজিক বা একাধিক প্রপার্টি সেট করা যেতে পারে। উদাহরণস্বরূপ, আপনি একাধিক পরিবেশে (development, production) ভিন্ন কনফিগারেশন ব্যবহার করতে পারেন।
config.properties
(Multiple environments):
# Development environment
dev.src.dir=src/dev
dev.build.dir=build/dev
# Production environment
prod.src.dir=src/prod
prod.build.dir=build/prod
এখন build.xml
ফাইলে সঠিক কনফিগারেশন বেছে নেওয়ার জন্য শর্ত ব্যবহার করা যেতে পারে:
<property name="env" value="dev"/>
<property name="src.dir" value="${${env}.src.dir}"/>
<property name="build.dir" value="${${env}.build.dir}"/>
এখানে ${env}
প্রপার্টির মানের উপর ভিত্তি করে সঠিক src.dir
এবং build.dir
প্রপার্টি লোড হবে।
build.xml
ফাইলে লোড করে কনফিগারেশন পরিবর্তন সহজ হয়।এটি প্রকল্পের বিল্ড প্রক্রিয়া আরো উন্নত, নমনীয় এবং কাস্টমাইজেবল করে তোলে, যেখানে প্রপার্টি ফাইলের মাধ্যমে কনফিগারেশন একক স্থান থেকে পরিচালনা করা সম্ভব।
Apache ANT-এর Properties হল ভেরিয়েবল যা বিভিন্ন বিল্ড টাস্ক বা স্টেপে ব্যবহার করা হয়। এরা সহজেই প্রজেক্টের কনফিগারেশন, পাথ, ফাইল পাথ ইত্যাদি সংরক্ষণ করতে সহায়ক। অনেক সময় প্রজেক্টে ডিফল্ট প্রপার্টি থাকতে পারে, তবে ব্যবহারকারী চাইলে তাদের মান পরিবর্তন করতে পারেন। Properties Override এর মাধ্যমে আপনি সহজে পূর্বনির্ধারিত প্রপার্টি পরিবর্তন বা অতিক্রম করতে পারেন।
ANT এ Properties মূলত ভেরিয়েবল যা বিল্ড প্রক্রিয়ার মধ্যে বিভিন্ন মান রাখতে এবং ব্যবহার করতে সাহায্য করে। এগুলি সাধারণত build.xml
ফাইলে <property>
ট্যাগের মাধ্যমে সেট করা হয়।
উদাহরণ:
<property name="output.dir" value="build"/>
এখানে, output.dir
প্রপার্টি মান build
।
ANT প্রপার্টিগুলি কমান্ড লাইনে নির্দিষ্ট মান দিয়ে override করা যায়। এই পদ্ধতি দ্বারা, আপনি build.xml
ফাইলে নির্দিষ্ট প্রপার্টি ছাড়া অন্য কোন মান সেট করতে পারবেন।
কমান্ড উদাহরণ:
ant -Doutput.dir=dist
এটি build.xml
ফাইলে থাকা output.dir
প্রপার্টির মান পরিবর্তন করে dist
করে দিবে। কমান্ড লাইনে যেই প্রপার্টি ও মান উল্লেখ করা হয়, তা ঐ প্রকল্পের build.xml
ফাইলে থাকা ডিফল্ট প্রপার্টির মানকে অতিক্রম (override) করবে।
build.xml
উদাহরণ:
<project name="MyProject" basedir="." default="build">
<property name="output.dir" value="build"/>
<target name="build">
<echo message="Output Directory: ${output.dir}"/>
</target>
</project>
এটি ডিফল্টভাবে build
ফোল্ডারকে output.dir
হিসেবে ব্যবহার করবে। তবে, উপরের কমান্ডে আপনি output.dir=dist
দিলে আউটপুট dist
ফোল্ডারে হবে।
অন্য একটি উপায় হল properties file ব্যবহার করে প্রপার্টি সেট করা, এবং সেই ফাইল থেকে প্রপার্টি রিড করে override করা।
প্রথমে একটি প্রপার্টি ফাইল তৈরি করুন:
myproperties.properties
:
output.dir=dist
এখন, build.xml
ফাইলে এটি ইমপোর্ট করুন এবং প্রপার্টি ব্যবহার করুন:
build.xml
:
<project name="MyProject" default="build">
<property file="myproperties.properties"/>
<target name="build">
<echo message="Output Directory: ${output.dir}"/>
</target>
</project>
এখানে, output.dir
এর মান myproperties.properties
ফাইল থেকে আসবে এবং dist
হবে।
যদি আপনি build.xml
ফাইলে একটি ডিফল্ট প্রপার্টি সেট করেন এবং পরে সেটি কমান্ড লাইন বা প্রপার্টি ফাইলের মাধ্যমে override করেন, তাহলে শেষে যে মান সেট করা হয় সেটিই ব্যবহার হবে।
build.xml
উদাহরণ:
<project name="MyProject" default="build">
<property name="output.dir" value="build"/>
<target name="build">
<echo message="Output Directory: ${output.dir}"/>
</target>
</project>
এখন যদি আপনি কমান্ড লাইনে প্রপার্টিটি override করেন:
ant -Doutput.dir=dist
তাহলে আউটপুট হবে:
Output Directory: dist
এটি দেখায় যে build.xml
ফাইলে output.dir
এর ডিফল্ট মান ছিল build
, কিন্তু কমান্ড লাইনে -Doutput.dir=dist
ব্যবহার করার ফলে এটি পরিবর্তিত হয়ে dist
হয়েছে।
build.xml
) প্রপার্টি সেট করেন, তবে শেষে সেট করা মানটি সর্বাধিক অগ্রাধিকার পাবে।ant.file
, ant.version
ইত্যাদি। তবে, সাধারণত প্রজেক্টের প্রপার্টিগুলি আপনি freely override করতে পারবেন।নিচে একটি উদাহরণ দিয়ে দেখানো হলো কিভাবে প্রপার্টি override
করা যায়:
build.xml
:
<project name="OverrideExample" default="build">
<property name="output.dir" value="build"/>
<target name="init">
<echo message="Initialization: ${output.dir}"/>
</target>
<target name="build" depends="init">
<echo message="Building to directory: ${output.dir}"/>
</target>
</project>
এখন যদি আপনি কমান্ড লাইনে এটি override করেন:
ant -Doutput.dir=dist build
তাহলে আউটপুট হবে:
Initialization: dist
Building to directory: dist
এটি প্রমাণ করে যে output.dir
প্রপার্টির মান dist
হয়েছে, যেটি কমান্ড লাইনের মাধ্যমে override করা হয়েছে।
-Dproperty=value
.properties
ফাইল ব্যবহারbuild.xml
ফাইলে প্রপার্টি সেট করা।common.read_more